home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d26 / cattest.arc / CAT.DOC next >
Text File  |  1991-07-01  |  50KB  |  1,357 lines

  1.      CAT(TS):COMPUTER ASSISTED TESTING (IN TECHNICAL SUBJECTS)
  2.                                                 May 23rd, 1991
  3.  
  4.                                                  Carl W. David
  5.  
  6.  
  7.                                        Department of Chemistry
  8.                                      University of Connecticut
  9.                                 Storrs, Connecticut 06269-3060
  10.  
  11.   TABLE OF CONTENTS
  12.   _________________
  13.  
  14.  
  15.  
  16.   INTRODUCTION   . . . . . . . . . . . . . . . . . . . . . . 1
  17.     A Polemic  . . . . . . . . . . . . . . . . . . . . . . . 1
  18.     What are we going to do? Improve testing!  . . . . . . . 3
  19.     Caveats  . . . . . . . . . . . . . . . . . . . . . . . . 4
  20.     Why should I read this manuscript?   . . . . . . . . . . 6
  21.     Acknowledgements   . . . . . . . . . . . . . . . . . . . 7
  22.   IMPLEMENTATION   . . . . . . . . . . . . . . . . . . . . . 7
  23.   PROCTORn   . . . . . . . . . . . . . . . . . . . . . . . . 8
  24.     Purpose:To administer a computer assisted examination.   8
  25.     Implementation   . . . . . . . . . . . . . . . . . . . . 8
  26.     Function.  . . . . . . . . . . . . . . . . . . . . . . . 9
  27.     Philosophy of Browsing   . . . . . . . . . . . . . . .  11
  28.     The Rest of this Book  . . . . . . . . . . . . . . . .  11
  29.   UTILITIES  . . . . . . . . . . . . . . . . . . . . . . .  12
  30.     UtilTest   . . . . . . . . . . . . . . . . . . . . . .  13
  31.     Routines found in UTILITY.PAS and their use.   . . . .  14
  32.   EVALUATING EXPRESSIONS   . . . . . . . . . . . . . . . .  16
  33.     EVALTEST   . . . . . . . . . . . . . . . . . . . . . .  18
  34.   EXAMPLES   . . . . . . . . . . . . . . . . . . . . . . .  19
  35.     A First Test Question  . . . . . . . . . . . . . . . .  19
  36.     A simple Calculus Question   . . . . . . . . . . . . .  19
  37.     An Advanced Thermodynamics Question  . . . . . . . . .  19
  38.  
  39.                    COMPUTER ASSISTED TESTING
  40.                      in technical subjects
  41.  
  42.  
  43.  
  44.   INTRODUCTION
  45.   ____________
  46.  
  47.  
  48.  
  49.   A POLEMIC
  50.   _________
  51.  
  52.  
  53.      "The objective is to dramatically improve our schools
  54.      by the year 2000.  There is no higher priority for
  55.      business than this.  Without an educated populace we
  56.      cannot have a strong economy."
  57.                      David T. Kearns, Chairman, Xerox Corp.
  58.                         Business Tokyo, March 1990, page 57
  59.      "across the political spectrum, officials and business
  60.      leaders worry about American schoolchildren lagging
  61.      behind Asian schoolchildren, about electronic markets
  62.      ceded to the Japanese, about a self-indulgent corpo-
  63.      rate culture that has thrived on short-term profits,
  64.      about an American political system that has grown cyn-
  65.      ical, slashing, and corrupt....
  66.  
  67.         In education, the President promises that American
  68.      Students will be the best in the world at math and
  69.      science by the turn of the century.  And the Nation
  70.      Governors' Association, meeting in Washington last
  71.      week echoed the goal.  But some educators merely shake
  72.      their heads, arguing that that is unlikely.  Even as
  73.      the the President praised  the governors' interest in
  74.      education, Congressional Democrats criticized the
  75.      "tepid" 2% education spending increase proposed by the
  76.      Administration which holds that increased outlays are
  77.      not necessarily the key to education improvement."
  78.       Maureen Dowd, New York Times, May 4, 1990, Section 4,
  79.                                                      page 1
  80.  
  81.  
  82.  
  83.   THE PROBLEM
  84.  
  85.  
  86.      Is there anyone left in this country who doubts that
  87.   there is a problem in mathematics and science education?
  88.   Parents, educators, business leaders, intellectuals, and
  89.   even politicians all bemoan the failings of the education
  90.   system which is going to leave us bereft of native born sci-
  91.   entists, and dependent on the generosity of other nations'
  92.   expatriates for our future survival.
  93.  
  94.  
  95.  
  96.  
  97.                                                              1
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.      "This year I am teaching math, and I can see why there
  108.      is little physics in the inner-city schools. The stu-
  109.      dents cannot do the mathematics"
  110.         S. W. Brekke, Letter, Physics Today, Aug.  1986, pg
  111.                                                         74.
  112.      "A test of 47,000 College Freshman prompts call for
  113.      continuance of remedial program. A third or more of
  114.      the students entering New Jersey colleges have not ac-
  115.      quired the verbal and mathematical skills they need to
  116.      do college-level work, ..."
  117.                       New York Times, Nov. 23, 1979, pg 21.
  118.      "Report after report has shown that American students
  119.      are straggling near the tail end of all international
  120.      math and science competitions. What should be done?"
  121.        F. Hechinger, The New York Times, March 1, 1989, pg.
  122.                                                         B7.
  123.  
  124.  
  125.  
  126.   A SOLUTION?
  127.  
  128.  
  129.      Having spent a lifetime in education, as a professor of
  130.   chemistry on the one hand, and as a member of my local
  131.   school board on the other, it has become apparent to me that
  132.   reforming the educational system in situ is impossible.
  133.                                    _______
  134.   Partly, this is because no teachers accept culpability
  135.   and/or responsibility for their work.  Even I, when faced
  136.   with criticism that my students in freshman chemistry, when
  137.   passed and sent on to organic, can not do stoichiometry, do
  138.   not know what equilibrium means, can't tell an acid from a
  139.   base, etc., etc., etc., exclaim:"I taught it. They "passed"
  140.   the tests.  What more is there?"
  141.  
  142.      If I am not responsible for the failings of my efforts
  143.   once my students leave me (provided that I have not pandered
  144.   to the local authorities and passed fools and charlatans),
  145.   then I can not criticize teachers in the lower regions of
  146.   the establishment when they also fail to teach material
  147.   which I regard as necessary(1) .
  148.  
  149.      After a lifetime of reflection on the problem, and watch-
  150.   ing the country fritter away a king's ransom for "research"
  151.   and other frivolities in the educational infrastructure, af-
  152.   ter seeing an enormous investment in computer hardware and
  153.   software without any discernible gains, it becomes apparent
  154.   that something is structurally wrong with the system, and
  155.   conventional methods of fixing the system just won't work.
  156.  
  157.   ----------------
  158.  
  159.   1   Actually, this last sentence is, post hoc ergo propter
  160.                                        _____________________
  161.       hoc, false.  If the students haven't learned, one has no
  162.       ___
  163.       proof that the teachers haven't taught!
  164.  
  165.  
  166.                                                              2
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.   In fact, heresy, heresy, pouring money into the system won't
  177.   cure its ills.
  178.  
  179.      The New York Times reports:
  180.      "U.S. PANEL FAULTS UNIFORM TESTING --- Fairness and
  181.      Accountability Are at Issue, Especially in Multiple
  182.      Choice Format.  report urged changes in standardized
  183.      tests themselves and in the ways they are used, be-
  184.      cause current tests are often misleading or unfair and
  185.      because the nation's changing work force.  report said
  186.      too many tests emphasizing'lower thinking skills' were
  187.      consuming too much classroom time and school money."
  188.                                May 24, 1990, New York Times
  189.  
  190.      If one agrees that multiple choice testing is harming the
  191.   total educational system, and if one feels that national
  192.   testing and accountability is important for nudging the sys-
  193.   tem into improvements, then it is clear that improving test-
  194.   ing is the sine qua non for consideration.
  195.              ____________
  196.  
  197.      In what direction then should we turn for testing?  In
  198.   TECHNICAL testing, it is clear that we need to turn away
  199.   from multiple choice methods and toward truly objective
  200.   methods of assessment.  We need to increase the pressure on
  201.   students to retain knowledge.  We need to ignore the
  202.   following:
  203.      "New York State's Education Commissioner said today
  204.      that the state's public schools should adopt a far
  205.      broader measure than standardized tests in assessing
  206.      student performance."
  207.                                           Sam Howe VerHovek
  208.                               New York Times, May 23, 1990.
  209.  
  210.      The challenge is there. The gauntlet has been thrown.
  211.      "No more awards for predicting rain. Only for building
  212.      arks."
  213.               COMAC, Summer 1990, Solomon Garfunkel, page 2
  214.                                           as re-quoted from
  215.                                  Business Week, Spring 1990
  216.  
  217.  
  218.  
  219.   WHAT ARE WE GOING TO DO? IMPROVE TESTING!
  220.   _________________________________________
  221.  
  222.  
  223.      After jousting with educators over what is and isn't
  224.   taught, what is and isn't learned, etc., etc., ad nauseam,
  225.                                                  __________
  226.   one comes to the conclusion that no one knows what is being
  227.   truly learned.  The tests which we employ locally are defec-
  228.   tive, and those used nationally are worse.  Measuring what
  229.   is going on is the first step in correcting what is uni-
  230.   versally perceived as a major problem in America.
  231.  
  232.      To improve testing we need to:
  233.  
  234.  
  235.                                                              3
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.   1.  eliminate multiple choice testing, which warps the way
  246.       test takers think,
  247.   2.  require that students maintain the earlier learned
  248.       skills needed at the current level (precursor material),
  249.   3.  eliminate or curtail partial credit on poorly worked
  250.       problems,
  251.   4.  demand that the word "mastery" be meaningful, i.e., that
  252.       students command that part of the material which is cen-
  253.       tral to continuing on.
  254.  
  255.      In this book I present the codes and programs required to
  256.   implement Computer Assisted Testing, in which students are:
  257.  
  258.   1.  held responsible for earlier, precursor material,
  259.   2.  held to a performance level which clearly demonstrates
  260.       mastery of material without recourse to partial credit,
  261.   3.  and results in grades which are meaningful.
  262.  
  263.      Computer Assisted Testing allows the teacher to construct
  264.   examinations which are graded in real time by computer.
  265.   When a student makes a mistake, the teacher can have previ-
  266.   ously decided to offer help on this question, and this help
  267.   can be offered uniformly and fairly (even handed) to all
  268.   students who make a similar error.  This help, programmed
  269.   into the computer, is available in a fairer manner than the
  270.   help obtained when the teacher approaches the desk of a stu-
  271.   dent with a problem during an examination, and the student
  272.   artfully wheedles some hint from the teacher.  Alterna-
  273.   tively, the teacher could have decided not to offer help
  274.   other than the information that the student has made an er-
  275.   ror.  Even this information can be helpful to a student.
  276.  
  277.      If a student truly can't do the work (can't complete the
  278.   problem), then at some point the student will have to give
  279.   up.  There can be no self deception, no fooling oneself when
  280.   it comes to passing or not passing Computer Assisted Tests.
  281.   If you finish, you demonstrated that you knew the material.
  282.   If you don't finish, you know that something is wrong!
  283.                        ___
  284.  
  285.  
  286.  
  287.   CAVEATS
  288.   _______
  289.  
  290.  
  291.      My intention is to give you, the reader, the tools for
  292.   creating Computer Assisted Tests in an MS-DOS environment.
  293.   These tools consist of programs which themselves will gener-
  294.   ate programs.  The tests we are creating ARE programs which
  295.   run under MS-DOS (the operating system).
  296.  
  297.      It is important to understand that the customization of
  298.   tests, both the questions themselves, and the help schemata
  299.   employed, depend on the teacher (you) deciding upon various
  300.   things such as levels of help, phraseology of questions and
  301.  
  302.  
  303.                                                              4
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.   help statements, etc., etc., etc..  Therefore, as you adopt
  314.   Computer Assisted Testing, you will also be adopting a
  315.   method of working which involves creating not only tests,
  316.   but programs WHICH ARE tests!  The investment made by you in
  317.   creating each test question will be partially repaid by be-
  318.   ing able to virtually clone that question into many other
  319.   similar questions with minimal effort.  Further, preserving
  320.   the questions on disk in a library will allow you at some
  321.   future date to create similar tests easily by assembling
  322.   pre-tested questions into packages as needed.  Also, the
  323.   test questions, once obsolete for some reason, can be re-
  324.   leased to your students for use as study material.  All this
  325.   will be explained later.
  326.  
  327.      There is one over-riding decision which I am making for
  328.   you, which you should accept now (or put this book down).
  329.   That is, I have chosen to work in Turbo Pascal (from
  330.   Borland).  There are lots of other choices, but this one
  331.   provides tons of tools for program development, lots of
  332.   knowledgeable consultants, and is very, very inexpensive in
  333.   keeping with Borland's philosophy.
  334.  
  335.      If you choose to use the system of examinations that I am
  336.   providing, then you need not learn Turbo Pascal, and you
  337.   need not ever be involved in changing the format of test
  338.   questions.  HOWEVER, the chances are that you will not be
  339.   happy with the choices that I have made in terms of how to
  340.   structure questions, help, etc..  THEREFORE you will have to
  341.   be willing to take my questions and change them, i.e., re-
  342.   program them.  This will entail learning Turbo Pascal!  In
  343.   any event, you will need to purchase Turbo Pascal version
  344.   6.0.  You will not need to learn TP6.0 unless you want to
  345.   perform surgery on questions once you have created them us-
  346.   ing the procedures included here, i.e., you find that your
  347.   taste and mine differ(vide infra).  To summarize, you must
  348.                         __________
  349.   purchase Turbo Pascal Version 6.0!  You need not learn it
  350.   unless you choose, but you must make the program TPC.EXE
  351.   available to the Computer Assisted Testing programs which
  352.   you will use to create test questions and examinations.
  353.  
  354.      Further good advice is to use a computer with a hard
  355.   disk.  We are going to be creating programs which must be
  356.   compiled before they are in a form useful for students.  Al-
  357.   though all of this will be set up to run fairly automat-
  358.   ically, the fact is that once you get started, you will
  359.   rapidly generate an enormous number of files of test
  360.   questions.  If you attempt to keep these on floppy disks,
  361.   you will be in big trouble.  Therefore, I recommend that at
  362.   least for you personally, for development purposes, have a
  363.   PC with a hard disk (the bigger the better).  That is not to
  364.   say that you shouldn't back up your test question files to
  365.   floppy disk.  You should, religiously!  But going to a
  366.   floppy based archive for a question is not pleasant, while
  367.   having thousands of questions at hand, possibly divided into
  368.  
  369.  
  370.                                                              5
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.   directories according to subject or sequence number, or
  381.   something, will be very, very handy.
  382.  
  383.      On the other hand, please do not ask your school to equip
  384.   the examination PC's with hard disks.  They should be plain
  385.   vanilla items, with one and only one floppy disk drive and
  386.                       ________________
  387.   640K of core (i.e., bare bones)!  Do not get sophisticated
  388.   here and network them!  Whether we like it or not, some stu-
  389.   dents will try and steal questions, and it is important to
  390.   make it as hard as possible to accomplish this task, vide
  391.                                                        ____
  392.   infra.
  393.   _____
  394.  
  395.  
  396.  
  397.   WHY SHOULD I READ THIS MANUSCRIPT?
  398.   __________________________________
  399.  
  400.  
  401.      It is true that the diskette contained with this manu-
  402.   script has on it a program which will allow you, by means of
  403.   filling in blanks and choosing from menus, to create tests
  404.   which are "ready to go".  In essence, you can treat the en-
  405.   tire business as a black box in which you pay no attention
  406.   what so ever to the details, and create tests immediately.
  407.  
  408.      But this would deprive you of several important advan-
  409.   tages.  First, there are times when you teach certain spe-
  410.   cific methods for solving problems, in which the student,
  411.   generally, follows your method and arrives at an answer.
  412.   For such highly structured methods, there is no general
  413.   method of testing, and you will be required to come up with
  414.   a PASCAL scheme which carries the student through the vari-
  415.   ous steps one at a time IF YOU CHOOSE TO GIVE THE STUDENT
  416.   GUIDED HELP IN THIS STRUCTURED METHOD. That is, if the stu-
  417.   dent, using pencil and paper, does not come up with the cor-
  418.   rect answer, and you, in writing the test decide to offer
  419.   help, then you can give STRUCTURED help if you can program
  420.   it yourself in PASCAL, but are stuck with unstructured help
  421.   if you can not program it yourself in PASCAL.  Therefore,
  422.   reading the book, and understanding the various PROCEDURES
  423.   and FUNCTIONS which are given to you (put at your disposal),
  424.   will open a wider universe of testing possibilities for you.
  425.  
  426.      Secondly, and of lesser importance, once a test has been
  427.   created, it is useful to be able to clone that test without
  428.   going through all the menus and such which the test genera-
  429.   tor program will force upon you.  Therefore, for cloning
  430.   purposes, knowing some PASCAL, some editing, etc., is worth-
  431.   while.
  432.  
  433.      Finally, as with any tool, understanding its inner
  434.   workings makes you more comfortable in using it, especially
  435.   when something unexpected happens.  Since no programs are
  436.   perfect, you can expect glitches and bugs to appear; being
  437.   knowledgeable will help you in stamping them out.
  438.  
  439.  
  440.                                                              6
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.   ACKNOWLEDGEMENTS
  455.   ________________
  456.  
  457.  
  458.      All the code that is going to be shown and discussed in
  459.   this book and included on the distribution diskette(s) is
  460.   either original coding (by me) or public domain coding re-
  461.   leased to the general public.  I will specifically acknowl-
  462.   edge the authorship of coding when I know it, so that these
  463.   persons can feel some pride of authorship.  This code "bor-
  464.   rowed" from others has been (often) substantially altered by
  465.   me.
  466.  
  467.      The central algorithm for evaluating expressions was sig-
  468.   nificantly enhanced by my wife, Elaine David, who discovered
  469.   that using bakwards paired brackets could help one locate
  470.   appropriate places for the multiplication sign (*), i.e., we
  471.   find juxtapositions of items without an intervening opera-
  472.   tor, place a )( pair between the items, and expand )( to )*(
  473.   vide infra.
  474.  
  475.      I also wish to acknowledge the support of Professor
  476.   Maryanski, Associate Vice President of the University of
  477.   Connecticut, who supported this work with a starter grant
  478.   which enabled me to purchase the PC upon which all this work
  479.   was done.  Finally, I wish to note that not one federal
  480.   funding agency was willing to support this work, that every
  481.   referee that read my entreaties failed me, and that I have
  482.   been forced therefore to abandon this project.
  483.  
  484.  
  485.  
  486.   IMPLEMENTATION
  487.   ______________
  488.  
  489.  
  490.      What follows is a structured (logically, I hope) dis-
  491.   cussion of the Computer Assisted Scheme I have created.
  492.  
  493.      The student, when handed a diskette, places that diskette
  494.   in the A:  drive of an MS-DOS machine, and types in PROCTOR4
  495.   for a 4 question exam (the student has been told how many
  496.   questions, 2 thru 9, to expect).
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.                                                              7
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.   PROCTORN
  519.   ________
  520.  
  521.  
  522.  
  523.   PURPOSE:TO ADMINISTER A COMPUTER ASSISTED EXAMINATION.
  524.   ______________________________________________________
  525.  
  526.  
  527.      This main (driver) procedure performs the following
  528.   functions:
  529.  
  530.   1.  Initialization of variables
  531.   2.  Read student diskette and determine if student is start-
  532.       ing or continuing an examination
  533.   3.  Loop over remaining questions:
  534.       a.  Read next question from diskette (overlay).  It is
  535.           the responsibility of each question to perform the
  536.           following functions:
  537.           1)  If this is a re-run of a question, read the save
  538.               file (*.SAV) otherwise, create the question and
  539.               create the save file (*.SAV).
  540.           2)  Present question to student.
  541.           3)  If desired, echo question to a disk file (*.$$$)
  542.           4)  Accept student responses, judge them, act on
  543.               that judgement
  544.           5)  If desired, echo all student responses to a disk
  545.               file.
  546.       b.  At the end of each question, when the student has
  547.           "gotten it right", record that fact, along with
  548.           other pertinent data, such as whether or not the
  549.           student needed help and if so, whether or not the
  550.           student needs to solve a similar (cloned?) problem
  551.   4.  If done with prescribed number of questions, exit from
  552.       PROCTOR else go back and continue to the next question.
  553.  
  554.  
  555.  
  556.   IMPLEMENTATION
  557.   ______________
  558.  
  559.  
  560.      In order to implement the above, I have written each
  561.   question as an OVERLAY, running under a master program
  562.   (PROCTOR), so that exiting from the overlay without aborting
  563.   means that the question has been answered or skipped (al-
  564.   though possibly after help has been given).
  565.                                +-------------------+
  566.                                |  PROCTOR          |
  567.                                +----+--------------+
  568.                                     |
  569.                                     |
  570.                 +---------+---------+---------+
  571.                 |         |         |         |
  572.             +-------+ +-------+ +-------+ +-------+
  573.             | Q1    | | Q2    | | Q3    | | Q4    |
  574.             +-------+ +-------+ +-------+ +-------+
  575.  
  576.  
  577.                                                              8
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.   The driving program presents unanswered questions in order.
  588.   At each return, the main program  updates the grade book
  589.   (perhaps with information passed back from the overlaid
  590.   question), and then goes on to overlay the next question.
  591.  
  592.      To leave the examination the student either completes all
  593.   the questions correctly (with or without help) or chooses to
  594.   leave the examination in the middle (choosing the F6 option
  595.   vide infra of quitting the examination).  In either case,
  596.   provided no tampering has occurred, the diskette which the
  597.   student hands back to the monitor (or teacher) contains a
  598.   record of what has transpired, as well as re-start material
  599.   so that if the student needs to come back an complete a
  600.   question, the same numbers will be used in the second pres-
  601.   entation (even if they were chosen at random initially).
  602.  
  603.  
  604.  
  605.  
  606.   FUNCTION.
  607.   _________
  608.  
  609.  
  610.      We now expand on the various functions of PROCTOR as
  611.   noted above (features marked 'future' are to be
  612.   implemented):
  613.  
  614.   1.  Initialization
  615.       a.  Set counters, assuming that this is a start of exam-
  616.           ination, not a continuation of a previous examina-
  617.           tion.
  618.       b.  (future) Check that program has been loaded at
  619.           proper point, i.e., that no TSR has been loaded
  620.           which could allow student to interrupt the testing
  621.           procedure for improper reasons.
  622.       c.  Obtain the students password(2)
  623.  
  624.   ----------------
  625.  
  626.   2   Just as I am writing this (May, 1990), word comes that
  627.       several students were canvassing in our dormitories, of-
  628.       fering to take a Chemistry final examination for money.
  629.       Several were caught, but the important fact is that many
  630.       students remain, as ever, interested in the easy way
  631.       out.  It pays us to implement guardian schemes to pro-
  632.       tect the honest student from the sleazy ones.  To do
  633.       this, we UUENCODE the grade book on the student's disk
  634.       and then when the student starts work, we use the
  635.       PROCTOR program to UUDECODE the grade file that is in-
  636.       cluded on the diskette.  Since UUENCODE and UUDECODE
  637.       Pascal source code in the public domain is available, it
  638.       is technically possible to incorporate this feature into
  639.       our schemes.  Since the test questions themselves are in
  640.       compiled form vide infra nothing on the student disk is
  641.                     __________
  642.       human readable, and the driver program can't be executed
  643.  
  644.  
  645.                                                              9
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.       d.  Read (and decode) the existing grade file.
  656.   2.  Is this a resumption?  If this is a resumption, then
  657.       check which questions have already been done correctly,
  658.       and mark them in such a way that they are not presented
  659.       to the student.
  660.   3.  Process the current question The depth of analysis of
  661.       errors, and the depth of error handling is a function of
  662.       the purpose of the examination.  For pre-college stu-
  663.       dents, in which examinations are related closely to re-
  664.       mediation, the depth should be greater than for college
  665.       students.  College students most likely should only be
  666.       aided slightly, with the intention of inducing them to
  667.       find their own errors.  Thus, for college students, the
  668.       following sequence need not descend more than one level
  669.  
  670.   ----------------
  671.       without the password!  (I realize how ineffectual the
  672.       scheme I have outlined is, and in a future implementa-
  673.       tion, I assume that a full password protection scheme
  674.       will be created.)
  675.  
  676.          To create the initial grade file, use program
  677.       INITGRAD vide infra Thus the files on the diskette are
  678.                __________
  679.       printable but not understandable, and a password then
  680.       protects the contents of the disk from being de-crypted
  681.       by unauthorized persons.  I suggest that the teacher use
  682.       a once only password scheme, and that the student get
  683.       her password when she surrenders her identification to
  684.       the test monitor.  Once used, I suggest that the pass-
  685.       word be destroyed, so that the next time this student
  686.       gets a diskette with an examination on it, there is a
  687.       new password in place.
  688.  
  689.          I accept that the overhead, the human wear and tear
  690.       of implementing this is unpleasant, but I feel it is
  691.       necessary and can be circumvented by persons who feel it
  692.       is unnecessary; just issue a blanket password, and use
  693.       it everywhere and every time (PASSWORD is a famous
  694.       choice for the universal password).
  695.  
  696.          If UUENCODing is not sufficient, then a higher order
  697.       coding scheme will be required, but at the outset, we
  698.       use this simple scheme.  Our assumption is that students
  699.       will be monitored so that no disks are removed from the
  700.       examination room (for leisurely inspection/hacking) and
  701.       that no one brings a disk in with a copy of either
  702.       UUDECODE or UUENCODE.  Teachers are of course required
  703.       to maintain vigilance, since students will often leave
  704.       no stone unturned in order to pass a course.
  705.  
  706.          One last note, students who remove diskettes from
  707.       their machines during a test, attempt some hacking, and
  708.       who then re-start their tests with purloined results
  709.       will generate PASCAL runtime errors!
  710.  
  711.  
  712.                                                             10
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.       into help schemes, while for lower level students, the
  723.       depth of help (and diagnosis) might be larger.
  724.       a.  Clear the Screen, write the question to the top of
  725.           the screen, put up the standard menu (calculator,
  726.           answer, help, quit).
  727.       b.  Accept the answer given by the student, compare to
  728.           the right answer.  If student answer equals right
  729.           answer, update grade book, exit loop to next ques-
  730.           tion item.  If student answer is wrong (and the stu-
  731.           dent asks for help), then check if it is in
  732.           repertoire of answers which instructor wishes to of-
  733.           fer aid for; if so, give the help, record that help
  734.           has been given.  Return for student answer.
  735.   4.  Update grade file, i.e., encrypt the current grade file,
  736.       UUENCODE it into printable form, and write it to disk.
  737.   5.  If student needed help during this last question, deter-
  738.       mine from strategy whether to offer another, diminish
  739.       grade, etc. etc. etc..
  740.   6.  Start up next question or, if at end of exam, halt proc-
  741.       essing.
  742.  
  743.  
  744.  
  745.   PHILOSOPHY OF BROWSING
  746.   ______________________
  747.  
  748.  
  749.      Should students be able to read all the questions on an
  750.   examination and choose the order in which they are going to
  751.   work?  This question is central to the organization of the
  752.   driver program.  It implies that if students have access to
  753.   a diskette and choose to quit the examination, their exam-
  754.   ination will have to be changed (possibly only by cloning)
  755.   so that when they return they are not at an advantage rela-
  756.   tive to those who stayed.  Perhaps a grade penalty must be
  757.   exacted for any student who leaves and returns.  We will of-
  758.   fer these options to teachers later in the process.  For the
  759.   current system, browsing is not allowed.  The current
  760.   PROCTOR program goes through the questions in order, once,
  761.   and then exits.  Students who wish to can re-start the pro-
  762.   gram, whereupon they are offered a second chance to attempt
  763.   problems which have not yet been done.  An alternative
  764.   scheme certainly can be invented.
  765.  
  766.  
  767.  
  768.   THE REST OF THIS BOOK
  769.   _____________________
  770.  
  771.  
  772.      To process a single question, we require various utili-
  773.   ties for writing the question out, accepting answers, etc..
  774.   To start this book, we present our utilities with explana-
  775.   tions below.  Once the utilities are out of the way, we will
  776.   present a set of questions, in ascending order of diffi-
  777.   culty.  Then we will present the utility programs for creat-
  778.  
  779.  
  780.                                                             11
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.   ing test questions and tests (made up of those questions),
  791.   libraries, etc..
  792.  
  793.      It is apparent, to me, that the level of equation proc-
  794.   essing that we can accomplish with the scheme I will outline
  795.   here is quite limited.  Had I gotten external support for
  796.   programmer help, I would have reprogrammed the entire system
  797.   using graphics, so that I could employ a more sophisticated
  798.   equation processor, but alas, that is not to be.
  799.  
  800.      The following code is placed in the public domain.  You
  801.   may read it, copy it, modify it, spurn it.  Any code which I
  802.   have taken from other public domain sources are noted as
  803.   such.  You should be aware that there are commercial and
  804.   shareware products which could be used instead of ours,
  805.   which would be more efficient.  However, in the spirit of
  806.   "giving it away", the code included here is free.  Including
  807.   commercial units by experts will substantially improve your
  808.   examinations.
  809.  
  810.      No claim for finality (closure or completeness) is made
  811.   here.  The material included is the first step on a long
  812.   road which will never end.
  813.  
  814.      One last disclaimer- no attempt at elegance or sophisti-
  815.   cation has been made in creating these codes.  Rather, sim-
  816.   plicity, transparency of understanding, etc., have been
  817.   accentuated.  Professional programmers scoffing at the code
  818.   should remember that speed is not of the essence here, and
  819.   that therefore, what counts is the ultimate user who may be
  820.   a beginning programmer.  Some day, when the system is more
  821.   fully implemented, I assume that users will come on line who
  822.   are not programmers at all, and for whom this is all a
  823.   "black box".  For those people, improvements in the sophis-
  824.   tication of the code makes sense, since they will never read
  825.   it anyway.  But at the outset, where I am assuming that the
  826.   reader is either a Pascal programmer or is willing to learn
  827.   Pascal programming, there is no need to concern oneself with
  828.   anything other than clarity.  To paraphrase Einstein: "...
  829.   matters of taste are left to the tailor ...".
  830.  
  831.  
  832.  
  833.   UTILITIES
  834.   _________
  835.  
  836.  
  837.      For those unused to Turbo Pascal, and who are learning it
  838.   here simultaneously, we offer the utilities in a unit (which
  839.   we can modify later as we find other needs).  The diskette
  840.   contains the code in a form ready for use with Turbo Pascal.
  841.   Therefore, you can compile this unit directly, setting the
  842.   destination to disk, creating a UTILITY.TPU file.  The .TPU
  843.   file is going to be loaded each time the proctor program is
  844.  
  845.  
  846.  
  847.                                                             12
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.   loaded, making the contents of this unit available to you
  858.   for use(3)
  859.  
  860.      If you are reading this chapter, then you are either
  861.   knowledgeable in Turbo Pascal programming, or you are learn-
  862.   ing it.  In either case, you should be aware that the fol-
  863.   lowing manuscript text is not definitive, since as bugs are
  864.   noted in utilities, I have gone in and corrected them.  The
  865.   composition of this manuscript, on the other hand, is an on-
  866.   going process which may or may not reflect the latest
  867.   changes of the files.  Therefore, when in doubt, check the
  868.   distribution disks to see the actual code.
  869.  
  870.      For the novice, you should first learn elementary edit-
  871.   ing, using the WordStar like commands that Turbo Pascal
  872.   uses.  I have included an editor of this type (freeware) for
  873.   your use in case you do not like using the Turbo Editor (it
  874.   takes some time to load, since it loads both compiler
  875.   (linker, etc.) and editor.  Please feel free to edit back up
  876.   copies of programs included here, with the intent of improv-
  877.   ing them.  I assume that you have Turbo Pascal 5.5 or 6.0.
  878.  
  879.  
  880.  
  881.   UTILTEST
  882.   ________
  883.  
  884.  
  885.   UTILTEST.PAS, is a utility test program which allows you to
  886.   check that the utilities are working properly before you
  887.   commit to using them.  It is included on the distribution
  888.   diskette.  When you compile and execute the program, it will
  889.   load the UTILITY.TPU file from the diskette (unless you used
  890.   TPUMOVER to move UTILITY.TPU into the TURBO.TPL file).  You
  891.   should exercise the UTILITY.TPU unit extensively, until you
  892.   are satisfied that it will serve our purposes.
  893.  
  894.  
  895.  
  896.   ----------------
  897.  
  898.   3   In fact, since it is going to be used so often, it makes
  899.       sense to include this in the TURBO.TPL file, which is
  900.       loaded each time the Turbo Pascal compiler is loaded.
  901.       To do this, compile UTILITY.PAS to disk, creating a file
  902.       UTILITY.TPU.  Next, from the DOS prompt execute TPUMOVER
  903.       with the arguments TURBO.TPL and UTILITY.TPU, i.e. :
  904.                    TPUMOVER TURBO.TPL UTILITY.TPU
  905.       whereupon you will enter the mover program which will
  906.       allow you to move UTILITY.TPU into TURBO.TPL.  THe ad-
  907.       vantage of doing this is that UTILITY.TPU will then al-
  908.       ways be available to you no matter what.  The
  909.       disadvantage is that you will decrease the size of other
  910.       programs you are creating, since UTILITY.TPU will always
  911.       be in memory.
  912.  
  913.  
  914.                                                             13
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.   ROUTINES FOUND IN UTILITY.PAS AND THEIR USE.
  925.   ____________________________________________
  926.  
  927.  
  928.      Since the computer assisted testing system is evolving,
  929.   the printed documentation which you are currently reading
  930.   need not correspond exactly to the current contents of the
  931.   actual distribution diskettes.  Within reason, every attempt
  932.   has been made to upgrade the documentation as changes are
  933.   made in the various units, but slight differences between
  934.   this documentation and the diskette's version should be ac-
  935.   cepted.  The diskette takes preference over the documenta-
  936.   tion!
  937.  
  938.      What follows is an English description of the included
  939.   utility routines:
  940.  
  941.   1.  Noise(WhatSounds:Sounds)
  942.       ________________________
  943.  
  944.          Noise is a program which will give various sounds ac-
  945.       cording to the kind of argument passed, i.e., Good, Bad,
  946.       FinishedGood, FinishedBad, Acknowledge, Cont.  Each of
  947.       these sounds consists of a duration, frequency and repe-
  948.       tition pattern.  They have no intrinsic meaning, and can
  949.       be altered easily.
  950.  
  951.   2.  Read_Key
  952.       ________
  953.  
  954.          Contrary to most of the other procedures in this
  955.       file, Read_Key is a function.  This function serves two
  956.       purposes.  First, it obtains characters, function keys
  957.       as well as normal characters, and second, it sets the
  958.       global variable Escape_Struck true or false depending on
  959.       whether or not the user has struck the ESCape key.
  960.  
  961.   3.  Our_Write(X,Y,s);
  962.       _________________
  963.  
  964.          Our_Write is a procedure which takes over a line
  965.       starting at the point X,Y and writes a string (s).  Af-
  966.       ter writing the string, Our_Write clears the rest of the
  967.       line!
  968.  
  969.   4.  YesNo(X,Y,s);
  970.       _____________
  971.  
  972.          Function YesNo prints a prompt (s) at the pont (X,Y)
  973.       and then ways for a value in the set 'y','n','N','Y'.
  974.       Yes returns True, No returns false.
  975.  
  976.   5.  Pause(X,Y,s);
  977.       _____________
  978.  
  979.          Pause prints a prompt (s) at the pont (X,Y) and then
  980.       waits for any keystroke from the keyboard.
  981.  
  982.   6.  CheckBrackets(Str,Err,Err_Message)
  983.       __________________________________
  984.  
  985.  
  986.  
  987.                                                             14
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.          CheckBrackets counts the number of left and right
  998.       brackets in an algebraic expression and returns a mes-
  999.       sage about that count.  If the expression is well
  1000.       formed, the count should be zero and the procedure
  1001.       should return an Err of zero and an Err_Message of
  1002.       'O.K.'.  Either can then be used for future reference.
  1003.  
  1004.   7.  Remove_Double_Blanks(Str)
  1005.       _________________________
  1006.  
  1007.          This procedure takes a string and shrinks it by re-
  1008.       placing all multiple blanks with a single blank, suit-
  1009.       able for printing.
  1010.  
  1011.   8.  Remove_all_blanks(Str);
  1012.       _______________________
  1013.  
  1014.          As implied by the name, this procedure changes a
  1015.       string with blanks into one without any blanks by
  1016.       squeezing the string.  This is required so that there
  1017.       will be no blanks in equations, even if the student
  1018.       typed some in to improve readability.  In case extra
  1019.       blanks crept in to a string during substitutions, this
  1020.       procedure will remove them!
  1021.  
  1022.   9.  Trim_fore_aft(Str);
  1023.       ___________________
  1024.  
  1025.          This procedure removes leading and trailing blanks,
  1026.       but leaves internal blanks alone.
  1027.  
  1028.   10.  PoseQuestion(Y,question);
  1029.        _________________________
  1030.  
  1031.          This procedure writes the text (question) out, start-
  1032.       ing in column one of line Y.  The line is broken at a
  1033.       blank, no words are artificially split up.
  1034.  
  1035.   11. Read_Equation(X,Y,
  1036.       __________________
  1037.                         L{length},
  1038.                         __________
  1039.                         s{returned string},
  1040.                         ___________________
  1041.                         char_set);
  1042.                         __________
  1043.  
  1044.          This procedure reads an equation, accepting numbers,
  1045.       algebraic symbols, the period, and all the chars in the
  1046.       char_set, which allows for functions and the current
  1047.       variable.
  1048.  
  1049.   12. Read_Float_Masked(X,Y,L
  1050.       _______________________
  1051.                         {number of places to right of decimal
  1052.                         _____________________________________
  1053.       point},
  1054.       _______
  1055.                         Prompt (text of prompt message),
  1056.                         ________________________________
  1057.                         Print_Prompt  {show old value?
  1058.                         ______________________________
  1059.       (Boolean)},
  1060.       ___________
  1061.                         W  {resultant value/or original one,
  1062.                         ____________________________________
  1063.       real})
  1064.       ______
  1065.  
  1066.  
  1067.  
  1068.  
  1069.                                                             15
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.          This procedure prompts at (X,Y) for an answer of the
  1080.       form +x.yyyE+zz where L is the number of y's in the
  1081.       x.yyy form, i.e., 3 here.  If Print_Prompt is true, the
  1082.       old value of W is printed inside the prompt, otherwise
  1083.       it is not show.
  1084.  
  1085.   13. Read_Fixed_Masked(X,Y,
  1086.       ______________________
  1087.                         Left,LRight {number of places to left
  1088.                         _____________________________________
  1089.       & right of decimal point},
  1090.       __________________________
  1091.                         Prompt {text of prompt message},
  1092.                         ________________________________
  1093.                         Print_Prompt  {show old value?
  1094.                         ______________________________
  1095.       (Boolean)},
  1096.       ___________
  1097.                         W  {resultant value/or original one,
  1098.                         ____________________________________
  1099.       real})
  1100.       ______
  1101.  
  1102.          This procedure prompts at (X,Y) for an answer of the
  1103.       form +xxx.yy where Left is the number of x's in the
  1104.       xxx.yy in the form, i.e., 3 here, and LRight is the num-
  1105.       ber of y's.  If Print_Prompt is true, the old value of W
  1106.       is printed inside the prompt, otherwise it is not show.
  1107.  
  1108.   14. Read_Integer_Masked(X,Y,
  1109.       ________________________
  1110.                         L, {number of digits},
  1111.                         ______________________
  1112.                         Prompt {text of prompt message},
  1113.                         ________________________________
  1114.                         Print_Prompt  {show old value?
  1115.                         ______________________________
  1116.       (Boolean)},
  1117.       ___________
  1118.                         IW  {resultant value/or original one,
  1119.                         _____________________________________
  1120.       integer})
  1121.       _________
  1122.  
  1123.          This procedure prompts at (X,Y) for an answer of the
  1124.       form +yyy where L is the number of y's in the yyy form,
  1125.       i.e., 3 here.  If Print_Prompt is true, the old value of
  1126.       IW is printed inside the prompt, otherwise it is not
  1127.       show.
  1128.  
  1129.  
  1130.  
  1131.   EVALUATING EXPRESSIONS
  1132.   ______________________
  1133.  
  1134.  
  1135.      The single most important difference between Computer As-
  1136.   sisted Testing and all other kinds of testing (not including
  1137.   oral examinations) is that Computer Assisted Testing can be
  1138.   used to ascertain whether or not a students formula is cor-
  1139.   rect.  Thus, when a student gets a wrong numerical answer,
  1140.   the computer can ask for the formula (or expression) used to
  1141.   obtain this (incorrect) answer and ascertain whether or not
  1142.   the expression itself was correct (relative to the known
  1143.   right answer).  Where in hand grading you might not see the
  1144.   equation (tired, bored, angry (?)), the computer tirelessly
  1145.   handles each students responses equitably and uniformly.
  1146.   So, our problem is, how do we get the computer to understand
  1147.   formulas?
  1148.  
  1149.  
  1150.  
  1151.                                                             16
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.      Assume that the student gives an answer 'x+4' and the
  1162.   computer is looking for the formula which you wrote as
  1163.   '4+x'.  Clearly, if we subsitute THE SAME random number into
  1164.   each of these expressions we will get the same answer!
  1165.  
  1166.      Assume that we have an expression
  1167.                             4-1.01x
  1168.   and the student enters
  1169.                             -1.01x+4
  1170.   Assume that the random number generator creates for its next
  1171.   returned value the number 0.01234.
  1172.               -1.01*0.01234 + 4 = 4 - 1.01*0.01234
  1173.   so you can see that substituting the random number into the
  1174.   "correct" and the "student" equations results in a numerical
  1175.   equality.  We are sure that the two forms are equal.  If we
  1176.   doubt it, do the process again with a different random num-
  1177.   ber.  Since the equations are both linear, it is impossible
  1178.   that the equality could hold at two different values of 'x',
  1179.   and therefore we are assured that the forms are equivalent.
  1180.  
  1181.      We will also get the same answer if the student is play-
  1182.   ing games and entered '2+2+x', and '(x+2)+2', etc., etc.,
  1183.   etc..  In other words, no matter what the student offers
  1184.   (lexicographically), we can cope provided that the students
  1185.   response evaluates to the 'correct' value.
  1186.  
  1187.      If the student offered '4.1+x', then provided we set our
  1188.   tolerance level for numerical equality low enough, we can
  1189.   distinguish between this response and the desired one.  We
  1190.   will use a statement:
  1191.       IF ABS(student_value - our_value) <= tolerance THEN
  1192.       ___________________________________________________
  1193.   as our central scheme for deciding whether or not the stu-
  1194.   dents answer is correct, i.e., agrees with what we expect.
  1195.  
  1196.      So, summarizing, we see that to tell if two expressions
  1197.   are the same:
  1198.  
  1199.   1.  make sure that both equations have the variable present
  1200.   2.  substitute a random number into each expression and pass
  1201.       the resultant purely numeric expressions to Evaluate.
  1202.       They should return the same value, but to be sure that
  1203.       there is no possibility that slight numerical errors,
  1204.       such as having a different number of significant fig-
  1205.       ures, we use the following:
  1206.            ABS(student value - known value) <= tolerance
  1207.            _____________________________________________
  1208.       to make sure that the two are identical.
  1209.  
  1210.      We will also use this scheme to find out what the student
  1211.   did wrong, since we will include in our help sections
  1212.   equations for common errors which can be compared to student
  1213.   responses, with the idea that if we can ascertain the nature
  1214.   of their error from a table of common errors, then we can
  1215.   CHOOSE OR NOT to offer them some help.
  1216.  
  1217.  
  1218.  
  1219.                                                             17
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.      To begin, we need to be able to evaluate numerically
  1230.   based algebraic expressions (without variables).  EVAL3.PAS
  1231.   is the latest version of the parsing scheme.  This material
  1232.   is adapted from the Borland code which was included in vari-
  1233.   ous earlier versions of Turbo Pascal.
  1234.  
  1235.  
  1236.  
  1237.   EVALTEST
  1238.   ________
  1239.  
  1240.  
  1241.      On the distribution diskette is a program called
  1242.   EVALTEST.PAS which checks that the EVAL3.TPU module works.
  1243.   This program allows you to input calculator like expressions
  1244.   such as
  1245.  
  1246.   1.  1 + 2
  1247.   2.  2*3+4
  1248.   3.  2*(3+4)
  1249.   4.  2*(3+4)/2.1
  1250.  
  1251.   with the evaluated value spit back.  After reading the
  1252.   EVAL3.PAS code, you will see that several functions, e.g.,
  1253.   cosine, log, etc., are also useable in EVAL3.
  1254.  
  1255.      The second part of EVALTEST checks for expressions.  This
  1256.   uses CHECKANS (vide infra) to check that two single variable
  1257.   expressions are equal.  Try entering:
  1258.  
  1259.   1.  3x
  1260.   2.  2x+x
  1261.  
  1262.   to see whether or not these two expressions are equal.
  1263.   EVALTEST will evaluate numerical expressions until the first
  1264.   question mark ("?") is entered, and then it will evaluate
  1265.   single variable expressions until a second question mark is
  1266.   entered at the correct prompt.
  1267.  
  1268.      This is (adjusted) copyrighted code, owned by Borland and
  1269.   declared in the public domain for non-profit use.
  1270.  
  1271.      For simple numeric input problems, we are done.  EVAL3
  1272.   can be used directly to evaluate expressions such as
  1273.   "3*4+2.1".  If our tests only involved numerical answers,
  1274.   this would be the end of it.  In fact, MQ03, the
  1275.   MAKEQUEStion program included on the distribution diskette
  1276.   assumes that this is the most that you are going to do,
  1277.   e.g., employ questions with solely numeric answers.
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.                                                             18
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.   EXAMPLES
  1297.   ________
  1298.  
  1299.  
  1300.      The examples indicated below are creations of the MQ pro-
  1301.   gram.  The .IN1 files can be found on the distribution
  1302.   diskette.
  1303.  
  1304.  
  1305.  
  1306.   A FIRST TEST QUESTION
  1307.   _____________________
  1308.  
  1309.  
  1310.      INITQUES.IN1 is the output of the MAKEQUES program, and
  1311.   creates a simple algebra problem.  You will see that it in-
  1312.   volves the simultaneous purchase of two kinds of nuts (how a
  1313.   propos).  This file is included by the Turbo Pascal compiler
  1314.   when you are compiling PROTOTYP.PAS, since that program con-
  1315.   tains a statement '{$I INITQUES.IN1}'.
  1316.  
  1317.  
  1318.  
  1319.   A SIMPLE CALCULUS QUESTION
  1320.   __________________________
  1321.  
  1322.  
  1323.      Here is a simple calculus question, INTEG1.IN1.  There
  1324.   are several other INTEGn.IN1 files included in the distrib-
  1325.   ution.
  1326.  
  1327.  
  1328.  
  1329.   AN ADVANCED THERMODYNAMICS QUESTION
  1330.   ___________________________________
  1331.  
  1332.  
  1333.      This last example is a theoretical flame temperature
  1334.   problem.
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.                                                             19
  1357.